<%@page import="br.com.drerp.financeiro.service.TipoBeneficiario"%>
<%@page import="br.com.drerp.financeiro.service.Imposto"%>
<%@page import="br.com.drerp.financeiro.service.Beneficiario"%>
<%@page import="java.math.BigDecimal"%>
<%@page import="br.com.drerp.financeiro.service.FinanceiroServiceImpl"%>
<%@page import="br.com.drerp.financeiro.service.FinanceiroServiceImplServiceLocator"%>
<%@page import="java.net.URL"%>
<%@page import="br.com.drerp.financeiro.service.FinanceiroServiceImplServiceSoapBindingStub"%>
<%@page import="br.com.drerp.financeiro.service.FinanceiroServiceImplService"%>
<%@page import="com.drerp.util.Constantes"%>
<%@page import="java.text.DecimalFormatSymbols"%>
<%@page import="java.text.NumberFormat"%>
<%@page import="java.text.DecimalFormat"%>
<%@page import="com.drerp.integracao.financeiro.Financeiro"%>
<%@page import="java.util.ArrayList"%>
<%@page import="com.drerp.RH.carreira.RegraPlanoCarreira"%>
<%@page import="java.util.List"%>
<%@page import="com.drerp.RH.Colaborador"%>
<%@page import="java.util.Calendar"%>
<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>

<style type="text/css">
	body {
		font-family: monospace;
		font-size: 12pt;
		font-variant: small-caps;
		margin: 0px;
		padding: 0px;
	}
	
	table.tabela {
		width: 23cm;
		border: 2px solid #000;
		margin: 10px;
	}
	
	.tabela thead td {
		color: #888;
	}
	
	.tabela_vencimentos td {
		border-right: 2px solid #000;
		text-align: center;
		padding: 2px 10px;
	}
	
	.tabela_vencimentos thead td {
		border-bottom: 2px solid #000;
	}
</style>

<script type="text/javascript">
	window.print();
</script>

</head>
<body>

<%
	Calendar data = Calendar.getInstance();
	String[] meses = {"Janeiro", "Fevereiro",
		  "Março", "Abril", "Maio", "Junho", "Julho",
		  "Agosto", "Setembro", "Outubro", "Novembro",
		  "Dezembro"};
	
	DecimalFormatSymbols df = new DecimalFormatSymbols();
	df.setDecimalSeparator(',');
	df.setGroupingSeparator('.');
	NumberFormat formatter = new DecimalFormat("###,##0.00", df);
	
	try {
		Colaborador colab = Colaborador.encontrarColaboradorPorId(Long.parseLong(request.getParameter("id")));
		Double salario = colab.getCargo().getSalario_base();
%>

	<table class="tabela">
		<tr>
			<td style="width: 60%"><%= Constantes.NOME_CLINICA %></td>
			<td style="text-align: center; font-family: sans-serif; font-size: 14pt; font-weight: bold; color: #888">
				Recibo de Pagamento de Salário
			</td>
		</tr>
		<tr>
			<td>CNPJ: <%= Constantes.CNPJ_CLINICA %></td>
			<td style="text-align: center"><%= meses[data.get(Calendar.MONTH)] %>/<%= data.get(Calendar.YEAR) %></td>
		</tr>
	</table>
	<table class="tabela">
		<thead>
			<tr>
				<td style="width: 2cm; text-align: center;">Código</td>
				<td style="width: 10cm;">Nome do Funcionário</td>
				<td>CBO</td>
				<td>Emp.</td>
				<td>Local</td>
				<td>Depto.</td>
				<td>Setor</td>
				<td>Seção</td>
				<td>Fl.</td>
			</tr>
		</thead>
		
		<tr>
			<td style="text-align: center;"><%= colab.getUsuario_id() %></td>
			<td><%= colab.getNome() %></td>
			<td colspan="7"><%= colab.getCargo().getNome() %></td>
		</tr>
	</table>
	
	<table class="tabela tabela_vencimentos" cellpadding="0" cellspacing="0">
		<thead>
			<tr>
				<td style="width: 1cm;">Cód.</td>
				<td>Descrição</td>
				<td style="width: 2.5cm;">Referência</td>
				<td style="width: 4cm;">Vencimentos</td>
				<td style="border-right-width: 0px; width: 4cm">Descontos</td>
			</tr>
		</thead>
		
		<tr>
			<td>101</td>
			<td style="text-align: left;">Salário Base</td>
			<td>
				<%= Calendar.getInstance().getActualMaximum(Calendar.DAY_OF_MONTH) %>
				<span style="font-variant: normal;">d</span>
			</td>
			<td>
				<%= formatter.format(salario) %>
			</td>
			<td style="border-right-width: 0px; text-align: right;"></td>
		</tr>
		
		<% 
			List<RegraPlanoCarreira> regrasPlanoCarreira = RegraPlanoCarreira.getRegrasParaTodos();
			regrasPlanoCarreira.addAll(RegraPlanoCarreira.getRegrasPorCargo(colab.getCargo()));
			regrasPlanoCarreira.addAll(RegraPlanoCarreira.getRegrasPorColaborador(colab));
			
			Double beneficios = 0.0;
			int numeroBeneficios = 0;
			for (RegraPlanoCarreira regra : regrasPlanoCarreira) {
				Double beneficio = colab.aplicaRegraPlanoCarreira(regra);
				if (beneficio > 0) {
					beneficios += beneficio;
					numeroBeneficios += 1;
		%>
			<tr>
				<td><%= regra.getRegraPlanoId() %></td>
				<td style="text-align: left;"><%= regra.getNome().length() > 35 ? regra.getNome().substring(0, 35) + "..." : regra.getNome() %></td>
				<td></td>
				<td>
					<%= formatter.format(beneficio) %>
				</td>
				<td style="border-right-width: 0px; text-align: right;"></td>
			</tr>
		<%
				}
			}
			
			salario += beneficios;
			
			FinanceiroServiceImpl fs = new FinanceiroServiceImplServiceSoapBindingStub(
					new URL("http://186.204.148.52:5574/Financeiro/services/FinanceiroServiceImplPort?wsdl"), 
					new FinanceiroServiceImplServiceLocator());
			
			Beneficiario beneficiario = new Beneficiario();
			beneficiario.setDocumento(colab.getCpf());
			beneficiario.setNome(colab.getNome());
			beneficiario.setTipoBeneficiario(TipoBeneficiario.FUNCIONARIO);
			
			Imposto[] impostos = fs.pagarSalario(new BigDecimal(salario), beneficiario);
			
			Double descontos = 0.0;
			for (Imposto imposto : impostos) {
				Double desconto = salario * (imposto.getAliquota() / 100);
				descontos += desconto;
		%>
			<tr>
				<td><%= imposto.getNome().equals("INSS") ? "973" : "987" %></td>
				<td style="text-align: left;"><%= imposto.getNome() %></td>
				<td><%= formatter.format(imposto.getAliquota()) %>%</td>
				<td></td>
				<td style="border-right-width: 0px; text-align: right;"><%= formatter.format(desconto) %></td>
			</tr>
		<%
			}
		%>
		
		<% for (int i = numeroBeneficios + impostos.length; i < 10; i++) { %>
			<tr>
				<td>&nbsp;</td>
				<td></td>
				<td></td>
				<td></td>
				<td style="border-right-width: 0px;"></td>
			</tr>
		<% } %>
		
		<tr>
			<td colspan="3" rowspan="2" style="border-top: 2px solid #000"></td>
			<td style="border-top: 2px solid #000; height: 1cm;">
				<span style="font-family: sans-serif; font-size: 9pt; color: #888">
					Total de Vencimentos
				</span><br />
				<%= formatter.format(salario) %>
			</td>
			<td style="border-top: 2px solid #000; border-right-width: 0px;">
				<span style="font-family: sans-serif; font-size: 9pt; color: #888">
					Total de Descontos
				</span><br />
				<%= formatter.format(descontos) %>
			</td>
		</tr>
		
		<tr>
			<td style="border-top: 2px solid #000; height: 1cm;">
				<span style="font-family: sans-serif; font-size: 9pt; color: #888; text-align: left;">
					Valor Líquido
				</span>
			</td>
			<td style="border-top: 2px solid #000; border-right-width: 0px;">
				<%= formatter.format(salario - descontos) %>
			</td>
		</tr>
	</table>
	
	<table class="tabela assinatura">
		<tr>
			<td colspan="2" style="text-align: center;">
				<div style="color:#888; font-family: sans-serif; font-size: 10pt; margin-top: 10px;">
					DECLARO TER RECEBIDO  A IMPORTÂNCIA LÍQUIDA DISCRIMINADA NESTE RECIBO
				</div>
			</td>
		</tr>
		<tr>
			<td style="height: 1.7cm; width: 5cm;	text-align: center; vertical-align: bottom;">
				____/____/_____<br />
				<span style="font-size: 10pt">DATA</span>
			</td>
			<td style="text-align: center; vertical-align: bottom;">
				_________________________________________________________<br />
				<span style="font-size: 10pt">ASSINATURA DO FUNCIONÁRIO</span>
			</td>
		</tr>
	</table>
<%
	} catch (Exception e) {
		e.printStackTrace();
%>
		<p>Colaborador não encontrado.</p>
<%
	}
%>

</body>
</html>